/**

This file is part of MaCI/GIMnet.

MaCI/GIMnet is free software: you can redistribute it and/or modify it 
under the terms of the GNU Lesser General Public License as published 
by the Free Software Foundation, either version 3 of the License, or 
(at your option) any later version.

MaCI/GIMnet is distributed in the hope that it will be useful, but WITHOUT 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public 
License for more details.

You should have received a copy of the GNU Lesser General Public 
License along with GIMnet. (See COPYING.LESSER) If not, see 
<http://www.gnu.org/licenses/>.

**/
void hpsrt(double *,int *, int);

void t_2_Rt(double *vout,double *vin);
/** 
* transforms pose representation from one where t is in global coordinates 
* to one where t is in body-coordinates
* @param *vout [out] pointer to 7 element array containing new pose representation, 
* @param *vin [out] pointer to 7 element array containing old pose representation,
*/
void Rt_2_t(double *vout,double *vin);
/** 
* transforms pose representation from one where t is in body coordinates 
* to one where t is in global coordinates
* @param *vout [out] pointer to 7 element array containing new pose representation, 
* @param *vin [out] pointer to 7 element array containing old pose representation,
*/
void quater_2_rot(double *R, double *qo);
void quaterrot(double *q3,double *q1,double *q2);
void rot_2_quater(double *q,double *R);
void skew_2_quater(double *q,double theta, double *om);
void quater_2_skew(double *theta, double *om,double *q);
void jsort(double *ra, int n);
void down_heap(double *heap,int *indi, double *val, int *ind, int *N);
void up_heap(double *heap,int *indi, double val, int ind, int *N);
